package com.ysstech.finance.service;

import java.util.List;
import java.util.Map;

import com.ysstech.finance.entity.Voucher;

public interface AbsVoucherGenerate<T> {
    /**
     * 凭证来源
     *
     * @return
     */
    public String getVoucherSource();

    /**
     * 获取凭证类型
     *
     * @throws Exception
     */
    public List<String> getVoucherFtype() throws Exception;

    /**
     * 查询生成凭证
     *
     * @throws Exception
     */
    public List<T> queryDatas(Voucher voucher) throws Exception;

    /**
     * 构造生成凭证数据
     *
     * @param datas
     * @return
     */
    public Map<String, List<Object>> getVoucherBean(List<T> datas) throws Exception;
}
